Copyright(C) 1994 Terumasa KODAKA , Takeshi KONO


■FD BIOS
	FD BIOSの概要
      o	FD BIOSは、320KB FD以外のFDにアクセスするBIOSである。
	FD BIOSでは、AHの下位4ビットで動作を指定し、上位4ビットでその動作に
	付随した機能の指定を行う。このため、FD BIOSでは下位4ビットの値を元に
	昇順に配列してある。
用語	両用BIOS
      o 1MBフォーマットと640KBフォーマットの両方に対応した両用FDDを
	コントロールするBIOSを指す。
	1.44MBフォーマットにも対応した3モードFDDをコントロールする
	1.44MB対応両用BIOSは、両用BIOSの上位互換。
      o 両用BIOSには、1MB I/Fモードと640KB I/Fモードがある。機種により、
	サポートしているモードが異なる。
	- ノーマルモード:1MB I/Fモードと640KB I/Fモード
	- ハイレゾモード:1MB I/Fモード専用
	- PC-98LT・HA    :640KB I/Fモード専用
      o	処理ルーチンは、いずれの機種でも本体BIOS内にある。
用語	1MB専用BIOS
      o PC-9801-15(8インチ標準フロッピーディスクインターフェースボード)上に
	搭載されているBIOS ROMが提供する。PC-9801M2は、PC-9801-15互換のROMを
	内蔵している。
      o	PC-9801初代に内蔵されている1MBフロッピーディスクインターフェースも
	1MB専用BIOSである。本体BIOS(セグメントFD80h)内に処理ルーチンがある。
      o PC-9801VM0・VX0・VX01のように内蔵FDDがオプションの機種に、本体の1MB
	フロッピーディスクインターフェースコネクタ経由で1MB FDDを接続した
	ときは、1MBフォーマットのディスクしか扱うことができないが、FD BIOSは
	両用BIOSである。
用語	640KB専用BIOS
      o PC-9801-08・09(ミニフロッピーディスクインターフェースボード)上に
	搭載されているBIOS ROMが提供する。PC-9801F2は、PC-9801-09互換のROMを
	内蔵している。
      o PC-9801U・VFは640KB専用機だが、搭載しているROMはPC-9801VM2と同じ
	ため、両用BIOS(640KB I/Fモード固定)である。
用語	I/Fモード
      o 両用BIOSには、1MB I/Fモードと640KB I/Fモードの2種類のI/Fモードが
	ある。I/Fモードは、システム起動時にどちらか一方に固定される。
      o I/Fモードは、DIP SW 3-1,3-2の状態と起動装置(メディア)で決定される。
	・1MB I/Fモードに設定されるのは、以下の場合
	- DIP SW 3-1=ON, 3-2=OFF
	- DIP SW 3-1=OFF,3-2=OFFでフロッピー以外の装置から起動した
	- DIP SW 3-1=OFFで1MB/1.44MBフォーマットのディスクから起動した
	  (DIP SW 3-2の設定は任意)
	・640KB I/Fモードに設定されるのは、以下の場合
	- DIP SW 3-1=ON, 3-2=ON
	- DIP SW 3-1=OFF,3-2=ONでフロッピー以外の装置から起動した
	- DIP SW 3-1=OFFで640KBフォーマットのディスクから起動した
	  (DIP SW 3-2の設定は任意)
      o 1MB I/Fモードは、主に1MB専用BIOSと同じハードウェアリソース(FDCの
	I/Oアドレス,ハードウェア割り込み,DMAチャネル,システム共通域など)を
	使用する。
	640KB I/Fモードは、主に640KB専用BIOSと同じハードウェアリソースを
	使用する。
      o どちらのI/Fモードでも、両用BIOSであれば1MBフォーマットのディスクにも、
	640KBフォーマットのディスクにもアクセスできる。
	ただし、1.44MBフォーマットのディスクには、1MB I/Fモードでしか
	アクセスできない。
用語	アクセスモード
      o 両用BIOSでディスクにアクセスするとき、必ずディスクのフォーマットの
	種類を指定しなければならない。
	1MB/640KB/1.44MBフォーマットのディスクにアクセスするときには、
	それぞれ1MBアクセスモード、640KBアクセスモード、1.44MBアクセスモードを
	指定する。
      o	両用BIOSは、指定されたドライブが、指定されたアクセスモードをサポート
	しているかどうかのチェックを行わない。上位プログラムは、そのドライブが
	取り扱い可能なアクセスモードでFD BIOSを実行しなければならない。
	たとえば、1MB専用の外付ドライブに対して、640KBアクセスモードや
	1.44MBアクセスモードでアクセスした場合、FD BIOSは実際に指示された
	処理を実行しようとする。リード・ライト系の処理では、結果として正常に
	読み出し・書き込みできないためのエラーが起こることになる。
用語	DA/UA
      o	DISK BIOSでは、アクセスする装置名を指定するために、DA/UA
	(Device Address/Unit Address)と呼ばれる値を用いる。
	上位4bitのDAで装置の種類を指定する。下位4bitのUAで同種の装置のなかの
	何台目のドライブかを指定する。たとえば、1MB専用I/Fに接続された1台目の
	FDDを指定する場合はDA/UA=90h、4台目を指定する場合はDA/UA=93hとする。
表	専用BIOSのDA/UA
	+------------+-------------+
	|1MB専用I/F  |     9nh     |
	|640KB専用I/F|     7nh     |
	+------------+-------------+
	* n=装置番号(0〜3)
      o	両用BIOSでは、1台のドライブで複数のフォーマットを扱うことができるが、
	同じドライブに対して、アクセスモード毎にDAの値が割り当てられている
	(表:「両用BIOSのI/Fモード・アクセスモードとDA/UAの対応」参照)。
	たとえば、1MB I/Fモードのとき、1台目のFDDで1MBフォーマットのディスクに
	アクセスするにはDA/UA=90hを指定する。640KBフォーマットのディスクに
	アクセスするにはDA/UA=10h、1.44MBフォーマットのディスクにアクセス
	するにはDA/UA=30hを指定する。
表	両用BIOSのI/Fモード・アクセスモードとDA/UAの対応
	+---------------+-------------+-------------+--------------+
	|\  アクセスモード   |  1MBアクセス|640KBアクセス|1.44MBアクセス|
	|インターフェースモード \|       モード|       モード|        モード|
	+---------------+-------------+-------------+--------------+
	|  1MB I/Fモード|     9nh     |     1nh     |      3nh     |
	|640KB I/Fモード|     Fnh     |     7nh     |      不可    |
	+---------------+-------------+-------------+--------------+
	* n=装置番号(0〜3)
      o 参考のため、DA/UAの一覧を表「全DA/UAとデバイスの対応一覧」に示す。
表	全DA/UAとデバイスの対応一覧
	-------+---------------------------------------------------------------
	DA/UA  |デバイス
	-------+---------------------------------------------------------------
	00〜03h|SASI・ESDI・IDE HD BIOS(リニアセクタアドレス指定)
	10〜13h|両用BIOS - 1MB I/Fモード+640KBアクセスモード
	20〜26h|SCSI HD BIOS(リニアセクタアドレス指定)
	30〜33h|両用BIOS - 1MB I/Fモード+1.44MBアクセスモード
	40h    |RAMドライブBIOSイニシャライズ用
	50〜53h|320KB FD BIOS
	60〜63h|BRANCH 4670仮想ディスク
	70〜73h|640KB専用BIOS,両用BIOS - 640KB I/Fモード+640KBアクセスモード
	80〜83h|SASI・ESDI・IDE HD BIOS(絶対セクタアドレス指定)
	90〜93h|1MB専用BIOS,両用BIOS - 1MB I/Fモード+1MBアクセスモード
	A0〜A6h|SCSI HD BIOS(絶対セクタアドレス指定)
	B0〜B3h|両用BIOS - 1MB I/Fモード+1.44MBアクセスモード(Undocumented)
	C0〜C7h|SCSI BIOS
	D0h    |ROMドライブ(DISK BIOSでのアクセスは不可)
	D1h    |PCMCIAメモリカード(DISK BIOSでのアクセスは不可)
	E0h    |RAMDISK.SYS
	F0〜F3h|両用BIOS - 640KB I/Fモード+1MBアクセスモード
	-------+---------------------------------------------------------------
用語	RAMドライブ
      o 98NOTE(PC-9801NL/Rを除く),PC-9801UR,PC-98HAに搭載されているFDD互換の
	RAMディスク。INT 1Bhをフックして、FD BIOSをエミュレートして
	いる。ソフトウェアからは、本体内蔵両用ドライブのなかの1台に見える。
	処理ルーチンは、セグメントD800hの拡張ROM内にある。
      o 両用BIOSとほぼ同等の動作をする。1MB I/Fモード、640KB I/Fモードを
	サポートしている。
      o 98NOTEの1.44MB対応両用BIOS搭載機には、RAMドライブが
	1.44MBフォーマットに対応している機種と、1MBフォーマットまでしか
	対応していない機種がある。
	PC-9821Neは1.44MB対応、PC-9801NS/R・P・NX/C・NS/Aは1.44MB非対応。
用語	1MB/640KB/1.44MBフォーマット
      o	1MBフォーマットとは、3.5"2HD、5"2HD、8"2Dのメディアに
	アンフォーマット容量1.6Mバイトのフォーマットを行ったディスクを指す。
	MS-DOSで8セクタ/トラックにフォーマットしたときのフォーマット容量は
	約1.2Mバイトになる。
      o	640KBフォーマットとは、3.5"2DD、5"2DDのメディアに
	アンフォーマット容量1.0Mバイトのフォーマットを行ったディスクを指す。
	MS-DOSで9セクタ/トラックにフォーマットしたときのフォーマット容量は
	約720Kバイトになる。
      o	1.44MBフォーマットとは、3.5"2HDのメディアにアンフォーマット容量
	2.0Mバイトのフォーマットを行ったディスクを指す。
	MS-DOSで18セクタ/トラックにフォーマットしたときのフォーマット容量は
	約1.44Mバイトになる。




INT 1Bh - Function x0h,x8h,xBh,xFh(FD)
分類	DISK BIOS
名前	無動作
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH=x0h,x8h,xBh,xFh
	AL=DA/UA
	---------------------------------------+-----------
	アクセス条件                           |DA/UA値
	---------------------------------------+-----------
	両用BIOS 1MB I/Fモード                 |9nh,1nh,3nh
	両用BIOS 640KB I/Fモード               |7nh,Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+-----------
	* n=装置番号(0〜3)
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	---------+------------------------------------------
解説  o AH bit 3〜0に0h,8h,Bh,Fhが指定された場合、FD BIOSはリターンコードを
	返す以外、なにも処理を行わない。
	ただし、AH bit 4=1のときは、ヘッドのシークのみ行う。
関連	INT 1Bh - Function 10h(FD)


INT 1Bh - Function 10h(FD)
分類	DISK BIOS
名前	ヘッドの移動(シーク)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH=x/x/x/1/x/x/x/x b
	AL=DA/UA
	---------------------------------------+-----------
	アクセス条件                           |DA/UA値
	---------------------------------------+-----------
	両用BIOS 1MB I/Fモード                 |9nh,1nh,3nh
	両用BIOS 640KB I/Fモード               |7nh,Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+-----------
	* n=装置番号(0〜3)
	
	CL=シリンダ番号
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	---------+------------------------------------------
解説  o 指定したシリンダにヘッドを移動する。
      u 本来、シークのみを行うファンクションが用意されているわけではない。
	FD BIOSでは、全ファンクションにおいてAH bit 4(SEEKビット)が1のとき
	ヘッドの移動(シーク)を行う。下位4ビットで指定されたファンクションの
	処理に先立って行われる。これは、INT 1Bh - Function n4h(センス系
	コマンド)やINT 1Bh - Function n3h(初期化系コマンド)でも同様。
      u ドライブがサポートするシリンダ番号を超えた部分にシークしようとした
	場合にも、BIOSは正常終了する。
関連	


INT 1Bh - Function 01h(FD)
分類	DISK BIOS
名前	ベリファイ(VERIFY)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH bit 7=MT
		1=マルチトラック
		0=シングルトラック
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=0001b
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+----------
	
	BX=転送バイト数
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
	
	DL=セクタ番号
	(1〜最大値はフォーマットによる)
	ES:BP=転送アドレス
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	2xh(CF=1)|DMA Boundary
	         |転送領域が64KB境界を跨いでいる
	3xh(CF=1)|End Of Cylinder
	         |シリンダを跨いだ転送をしようとした
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	5xh(CF=1)|Over Run
	         |一定時間内にデータの転送が終わらなかった
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	Axh(CF=1)|Data Error
	         |CRCエラーが発生した
	Cxh(CF=1)|No Data
	         |指定されたセクタが見つからない
	Exh(CF=1)|Missing Address Mark
	         |IDアドレスマークが見つからなかった
	---------+------------------------------------------
解説  o 指定されたセクタを読み取り、リターンコードを返す。
	INT 1Bh - Function 06h(FD)と異なり、DDAM(Deleted Data Address Mark)
	を検出しても処理を中断しない。そのセクタをスキップしてベリファイを
	続ける。
      u	メモリへの転送は行わないが、INT 1Bh - Function 06h(FD)と同じように
	入力パラメータのチェックが行われるので、以下の条件を守らなければ
	エラーになる。
      o MT=0(シングルトラック指定)のとき、一回のリードがディスク片面の同一
	トラック内で完了するようにBX(転送バイト数)を設定しなければならない。
	MT=1(マルチトラック指定)のとき、一回のリードがディスク両面の同一
	シリンダ内で完了するようにBX(転送バイト数)を設定しなければならない。
	シリンダを跨ぐリードは行えない。
      o ES:BP(転送アドレス)とBX(転送バイト数)は、指定領域が物理アドレスの
	64Kバイトの境界を跨がないように設定する必要がある。たとえば、
	ES:BP=7000:FF00h, BX=0400hのような領域を指定することはできない。
      o	BX(転送バイト数)に指定する値は、セクタ長の整数倍である必要はない。
関連	INT 1Bh - Function 02h(FD)
	INT 1Bh - Function 06h(FD)
	INT 1Bh - Function 0Ch(FD)


INT 1Bh - Function 02h(FD)
分類	DISK BIOS
名前	診断のための読み出し(READ DIAGNOSTIC)
対象	両用BIOS,1MB専用BIOS
入力	AH bit 7=0
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=0010b
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	---------------------------------------+----------
	
	BX=転送バイト数
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
	
	ES:BP=バッファアドレス
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	1xh(CF=0)|Control Mark
	         |DDAM(Deleted Data Address Mark)を検出した
	2xh(CF=1)|DMA Boundary
	         |転送領域が64KB境界を跨いでいる
	3xh(CF=1)|End Of Cylinder
	         |シリンダを跨いだ転送をしようとした
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	5xh(CF=1)|Over Run
	         |一定時間内にデータの転送が終わらなかった
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	Axh(CF=1)|Data Error
	         |CRCエラーが発生した
	Cxh(CF=1)|No Data
		 |1トラック分リードしても正しいIDが見つからなかった
	Exh(CF=1)|Missing Address Mark
	         |IDアドレスマークが見つからなかった
	---------+------------------------------------------
解説  o 指定されたトラックのセクタ番号1からデータを読み込む。
	INT 1Bh - Function 06hと異なり、インデックスマークの直後からリードを
	開始する。IDエラー、データ部のCRCエラー、DDAMの検出があっても、
	BX(転送バイト数)で指定されたサイズ分のリードを続ける。
      u テクニカルデータブックには、DLにセクタ番号の指定ができるように記述
	されているが、実際にはDLの値にかかわらず指定トラックの先頭セクタから
	転送が始まる。
      o MT=0(シングルトラック指定)のとき、一回の転送がディスク片面の同一
	トラック内で完了するようにBX(転送バイト数)を設定しなければならない。
	MT=1(マルチトラック指定)のとき、一回の転送がディスク両面の同一
	シリンダ内で完了するようにBX(転送バイト数)を設定しなければならない。
	シリンダを跨ぐ転送は行えない。
      o ES:BP(転送アドレス)とBX(転送バイト数)は、転送領域が物理アドレスの
	64Kバイトの境界を跨がないように設定する必要がある。たとえば、
	ES:BP=7000:FF00h, BX=0400hのような領域に転送することはできない。
      o	BX(転送バイト数)に指定する値は、セクタ長の整数倍である必要は
	ない。指定された値と同じ長さのデータが実際に転送される。
関連	INT 1Bh - Function 01h(FD)
	INT 1Bh - Function 06h(FD)
	INT 1Bh - Function 0Ch(FD)


INT 1Bh - Function 03h(FD)
分類	DISK BIOS
名前	初期化 (INITIALIZE)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH=03h
	AL=DA/UA
	---------------------------------------+-----------
	アクセス条件                           |DA/UA値(x=任意)
	---------------------------------------+-----------
	両用BIOS 1MB I/Fモード                 |9xh,1xh,3xh
	両用BIOS 640KB I/Fモード               |7xh,Fxh
	1MB専用BIOS                            |9xh
	640KB専用BIOS                          |7xh
	---------------------------------------+-----------
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	---------+------------------------------------------
解説  o FD BIOSの初期化を行う。
	システム起動時には、すでに初期化されている。
関連	0000:0564h
	0000:05CAh
	INT 1Bh - Function 83h(FD)


INT 1Bh - Function 83h(FD)
分類	DISK BIOS
名前	モータ停止モードの設定
対象	両用BIOS - 1MB I/Fモード
	PC-9801VM2・VM21・UV2・UV21・VX2・VX21・UX, PC-XA・XLを除く
入力	AH=83h
	AL=DA/UA
	---------------------------------------+-----------
	アクセス条件                           |DA/UA値(x=任意)
	---------------------------------------+-----------
	両用BIOS 1MB I/Fモード                 |9xh,1xh,3xh
	---------------------------------------+-----------
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	---------+------------------------------------------
解説  o 一定時間ディスクアクセスがないとき、FDDのモータを自動的に停止する
	モードに設定する。一度このモードに設定すると、BIOSではモータ常時ON
	モードに戻すことはできない。
	I/O 00BEh bit 2(EMTON)=0にすることで常時ONモードにできる。
      u 起動時からモータ停止モードに設定されている機種、セットアップメニューで
	起動時のモードを選択できる機種もある。
      o このファンクションを持たない機種で実行すると、AH=03hと同様の処理を行い
	正常終了する。この場合、このファンクション実行後に0000:0480h bit 4が
	1にならない。
      o PC-9801UXは、I/O 00BEh bit 2(EMTON)ビットが有効だが、BIOSはこの
	ファンクションをサポートしていない。
関連	0000:0480h bit 4
	0000:0485h
	INT 1Fh - Function 9A07h


INT 1Bh - Function 83h(FD)
分類	DISK BIOS
名前	新イニシャライズ(AI検出有効)
対象	両用BIOS - 640KB I/Fモード
入力	AH=83h
	AL=DA/UA
	---------------------------------------+-----------
	アクセス条件                           |DA/UA値(x=任意)
	---------------------------------------+-----------
	両用BIOS 640KB I/Fモード               |7xh,Fxh
	---------------------------------------+-----------
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	---------+------------------------------------------
解説  o AI(アテンションインタラプト)を検出するように初期化する。一度AI検出
	するように設定すると、リセットするまでAIなしに戻すことはできない。
      o DAにFhを指定すれば、このファンクションをサポートしていない
	640KB専用BIOSではエラー(リターンコード4xh)が発生するため、
	ファンクションのサポートの有無を確認できる。
関連	0000:0500h bit 2


INT 1Bh - Function 04h(FD)
分類	DISK BIOS
名前	センス (SENSE)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH=04h
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+----------
出力	AH=リターンコード
	-----------+------------------------------------------
	AH bit 7〜4|内容
	-----------+------------------------------------------
	00h(CF=0)  |Ready
	           |メディアがセットされている(書き込み可能)
	1xh(CF=0)  |Write Protect
	           |メディアがセットされている(書き込み禁止)
	40h(CF=1)  |Equipment Check
	           |DAにサポートするBIOSが存在しない値を指定した
	6xh(CF=1)  |Not Ready
	           |ディスクがセットされていないか、ドライブが接続されていない
	-----------+------------------------------------------
	AH  bit 3=0(未使用)
	    bit 2=
		■[DA/UA=9nh,Fnh,3nh]
		0(未使用)
		■[DA/UA=7nh,1nh]
		シリンダモード取得
		1: 80シリンダ(2DD,1DD)
		0: 40シリンダ(2D,1D)
		関連:INT 1Bh - Function 8Eh(FD)
		      0000:05CAh[DA/UA=7nhのとき]
		      0000:0493h[DA/UA=1nhのとき]
	    bit 1=0(未使用)
	    bit 0=
		■[DA/UA=9nh,Fnh,3nh]
		両面・片面メディア
		1: 両面メディアがセットされている
		0: 片面メディアがセットされている,メディア未挿入
		* 8インチドライブのための機能。3.5インチ、5インチメディアは
		  両面のみ。
		■[DA/UA=7nh,1nh]
		面モード取得
		1: 両面(2DD,2D)
		0: 片面(1DD,1D)
		関連:INT 1Bh - Function 0Eh(FD)
		      0000:05CAh[DA/UA=7nhのとき]
		      0000:0493h[DA/UA=1nhのとき]
機能  o 指定されたドライブの状態を調査する。
      u 実際にドライブが接続されているかどうかを、FD BIOSのセンス系コマンドで
	知ることはできない。フロッピーディスクがセットされていない場合と、
	ドライブが接続されていない場合とでリターンコードが同じため。
	ドライブが接続されているかどうかは、システム共通域に示されている。
      u モータ自動停止モードがONでモータが停止しているときにこのファンクション
	を実行すると、1回目の実行時にはメディアのセット状態を正しく検出する
	ことができない(ディスク未挿入のエラーが返る)。少しのウェイトを入れて
	から再度実行すると、正しい検出ができる。
関連	0000:0488h
	0000:0494h
	0000:055Ch
	INT 1Bh - Function 84h(FD)
	INT 1Bh - Function C4h(FD)


INT 1Bh - Function 84h(FD)
分類	DISK BIOS
名前	新センス
対象	両用BIOS
入力	AH=84h
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	---------------------------------------+----------
出力	AH=リターンコード
	-----------+------------------------------------------
	AH bit 7〜4|内容
	-----------+------------------------------------------
	00h(CF=0)  |Ready
	           |メディアがセットされている(書き込み可能)
	1xh(CF=0)  |Write Protect
	           |メディアがセットされている(書き込み禁止)
	40h(CF=1)  |Equipment Check
	           |DAにサポートするBIOSが存在しない値を指定した
	6xh(CF=1)  |Not Ready
	           |ディスクがセットされていないか、ドライブが接続されていない
	-----------+------------------------------------------
	AH  bit 3=両用ドライブ識別
		1: 両用ドライブ
		0: 非両用ドライブ
		関連:I/O 0094h bit 3,2[1MB I/Fモードのとき]
		      I/O 00CCh bit 3,2[640KB I/Fモードのとき]
		      INT 1Bh - Function C4h(FD) bit 3
	    bit 2=
		■[DA/UA=9nh,Fnh,3nh]
		0(未使用)
		■[DA/UA=7nh,1nh]
		シリンダモード取得
		1: 80シリンダ(2DD,1DD)
		0: 40シリンダ(2D,1D)
		関連:INT 1Bh - Function 8Eh(FD)
		      0000:05CAh[DA/UA=7nhのとき]
		      0000:0493h[DA/UA=1nhのとき]
	    bit 1=
		■[DA/UA=9nh,1nh,Fnh,3nh]
		0(未使用)
		■[DA/UA=7nh]
		アテンションインタラプト(AI)の有無
		1: AIなし
		0: AIあり
		関連:0000:0500h bit 2
	    bit 0=
		■[DA/UA=9nh,Fnh,3nh]
		両面・片面メディア識別
		1: 両面メディアがセットされている
		0: 片面メディアがセットされている,またはメディア未挿入
		* 8インチドライブのための機能。3.5インチ、5インチドライブ
		  では常に両面メディア。
		■[DA/UA=7nh,1nh]
		面モード取得
		1: 両面(2DD,2D)
		0: 片面(1DD,1D)
		関連:INT 1Bh - Function 0Eh(FD)
		      0000:05CAh[DA/UA=7nhのとき]
		      0000:0493h[DA/UA=1nhのとき]
解説  o 指定されたDA/UAのドライブの状態を調査する。
	両用ドライブか否かのチェックができる。
      o 1MB/640KB専用BIOSでは、AH=84hでINT 1Bhを実行するとINT 1Bh - 
	Function 04h(FD)の処理が行われる。
	アテンションインタラプトのチェックをする場合は、DA/UA=1nh(1MB I/F
	モード時)またはDA/UA=Fnh(640KB I/Fモード時)を指定すると良い。両用
	BIOSではない環境で実行したときには、Equipment Checkエラー(AH=4xh)が
	発生するので、実際にはこのファンクションをサポートしていないことが
	簡単にわかる。
      o DA/UA=3nhは、1.44MB対応両用BIOSでのみ使用可能。
      u 実際にドライブが接続されているかどうかを、DISK BIOSのセンス系コマンドで
	知ることはできない。フロッピーディスクがセットされていない場合と、
	ドライブが接続されていない場合とでリターンコードが同じため。
	ドライブが接続されているかどうかはシステム共通域を調べることで
	確認できる。
      u モータ自動停止モードがONでモータが停止しているときにこのファンクション
	を実行すると、1回目の実行時にはメディアのセット状態を正しく検出する
	ことができない(ディスク未挿入のエラーが返る)。少しのウェイトを入れて
	から再度実行すると、正しい検出ができる。
      u ファイルスロットに実装したPC-FD321F(ファイルスロット用1.44MB対応3.5"
	FDD)は、常に両用ドライブとしての動作が可能だが、INT 1Bh - 
	Function 84h,C4hで返される両用ドライブ識別の結果(AH bit 3)は、
	本体条件によって以下のようになる。
	[PC-FD321Fの両用ドライブ識別の結果]
	-------------------------------+---------------+-------------------
	本体条件                       |Function 84h   |Function C4h
	-------------------------------+---------------+-------------------
	1.44MB非対応機                 |非両用(bit 3=0)|機能なし(84hと同じ)
	1.44MB対応機,本体内蔵FD 2台,   |               |                   
	1MB I/Fモード                  |非両用(bit 3=0)|両用(bit 3=1)      
	1.44MB対応機,本体内蔵FD 1台,   |               |                   
	1MB I/Fモード                  |両用(bit 3=1)  |両用(bit 3=1)      
	1.44MB対応機,本体内蔵FD 2台,   |               |                   
	640KB I/Fモード                |非両用(bit 3=0)|非両用(bit 3=0)    
	1.44MB対応機,本体内蔵FD 1台,   |               |                   
	640KB I/Fモード                |両用(bit 3=1)  |両用(bit 3=1)      
	-------------------------------+---------------+-------------------
      u ファイルスロットに実装したPC-FD511F(ファイルスロット用1MB 5"FDD)は、
	常に両用ドライブとしての動作が可能だが、INT 1Bh - Function 84h(FD)
	とINT 1Bh - Function C4h(FD)では返される両用ドライブ識別の結果
	(AH bit 3)が、本体条件によって以下のようになる。
	[PC-FD511Fの両用ドライブ識別の結果]
	-------------------------------+---------------+-------------------
	本体条件                       |Function 84h   |Function C4h       
	-------------------------------+---------------+-------------------
	1.44MB非対応機 *1              |非両用(bit 3=0)|機能なし(84hと同じ)
	1.44MB対応機,本体内蔵FD2台 *2  |非両用(bit 3=0)|非両用(bit 3=0)    
	1.44MB対応機,本体内蔵FD1台 *3  |両用(bit 3=1)  |両用(bit 3=1)      
	-------------------------------+---------------+-------------------
	*1:PC-9801FA・FS・FX, PC-H98 model105など
	*2:PC-9821Ap・As・Ae・Ap2・Asのフロッピーディスクモデル
	*3:PC-9821Af・Ap・As・Ae・Ap2・As2のハードディスクモデル
      u ファイルスロットに実装したPC-9801-F04(ファイルスロット用1MB 3.5" FDD)
	は、どの機種に使用した場合も1Mバイト専用。
	なお、PC-9801-F04の基板上のジャンパJ1をショートさせると、PC-FD511Fと
	同様、両用ドライブとして使用することができるようになる。
関連	0000:0494h
	0000:055Ch
	INT 1Bh - Function 04h(FD)
	INT 1Bh - Function C4h(FD)


INT 1Bh - Function C4h(FD)
分類	DISK BIOS
名前	新センス2
	Undocumented
対象	1.44MB対応両用BIOS(1MB I/Fモード)
入力	AH=C4h
	AL=DA/UA(3nhの指定を推奨)
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	---------------------------------------+----------
出力	AH=リターンコード
	-----------+------------------------------------------
	AH bit 7〜4|内容
	-----------+------------------------------------------
	00h(CF=0)  |Ready
	           |メディアがセットされている(書き込み可能)
	1xh(CF=0)  |Write Protect
	           |メディアがセットされている(書き込み禁止)
	40h(CF=1)  |Equipment Check
	           |DAにサポートするBIOSが存在しない値を指定した
	6xh(CF=1)  |Not Ready
	           |ディスクがセットされていないか、ドライブが接続されていない
	-----------+------------------------------------------
	AH  bit 3=両用ドライブ識別
		1: 両用ドライブ
		0: 非両用ドライブ
		関連:I/O 0094h bit 3,2[1MB I/Fモードのとき]
		      I/O 00CCh bit 3,2[640KB I/Fモードのとき]
		      0000:05AEh[1.44MB対応機]
		      INT 1Bh - Function 84h(FD) bit 3
	    bit 2=1.44MB対応ドライブ識別
		1: 1.44MB対応ドライブ
		0: 1.44MB非対応ドライブ
	    bit 1,0=INT 1Bh - Function 84h(FD)と同じ
解説  o 指定されたDA/UAのドライブの状態を調査する。
	1.44MB対応ドライブか否かのチェックができる。
      o 1.44MBアクセスできるのは、1.44MB対応機で1MB I/Fモードに設定した
	場合の3.5インチFDDのみ。1.44MB対応機でも、640KB I/Fモードに設定すると
	1.44MBアクセスできない。また、5インチドライブでは1.44MBフォーマットは
	取り扱えない。
      u 実際にドライブが接続されているかどうかを、DISK BIOSのセンス系コマンドで
	知ることはできない。フロッピーディスクがセットされていない場合と、
	ドライブが接続されていない場合とでリターンコードが同じため。
	ドライブが接続されているかどうかはシステム共通域を調べることで
	確認できる。
      u モータ自動停止モードがONでモータが停止しているときにこのファンクション
	を実行すると、1回目の実行時にはメディアのセット状態を正しく検出する
	ことができない(ディスク未挿入のエラーが返る)。少しのウェイトを入れて
	から再度実行すると、正しい検出ができる。
      u 1.44MB対応のチェックをする場合、DA/UA=3nhを指定すると良い。
	1.44MB非対応機で本ファンクションを実行するとファンクション84hと同等の
	処理が行われる。このため、bit 2から1.44MBをサポートしているか否かの
	情報を得ることができない。1.44MB対応機を640KB I/Fモードに設定した場合
	も同様。
	DA/UA=3nhを指定すれば、1.44MBをサポートしない環境ではEquipment 
	Checkエラー(AH=4xh)が発生し、1.44MBアクセスが不可能なことが
	簡単にわかる。
      u 1.44MB対応機に接続されている1.44MB非対応のドライブ(内蔵または外付
	5インチFDD、外付3.5インチFDD、ファイルスロットに内蔵したPC-9801-F04、
	PC-FD511Fなど)に対して、DA/UA=3xhでDISK BIOSコマンドを実行した場合、
	必ずしも異常終了するとは限らない。指定されたドライブにメディアが
	セットされていれば正常終了する。
	1.44MBアクセス可能かどうかを調べるには、必ずリターンコードの
	bit 2を見て判断しなければならない。
      u bit 3の結果は、INT 1Bh - Function 84h(FD)とは本体条件により結果が
	異なる。
	INT 1Bh - Function 84h(FD)を参照。
関連	0000:0494h
	0000:055Ch
	0000:05AEh
	INT 1Bh - Function 04h(FD)
	INT 1Bh - Function 84h(FD)
	INT 1Bh - Function C4h(FD)


INT 1Bh - Function 05h(FD)
分類	DISK BIOS
名前	データの書き込み (WRITE DATA)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH bit 7=MT
		1=マルチトラック■[PC-H98]
		0=シングルトラック
		* PC-H98以外ではマルチトラック指定できない
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=0101b
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+----------
	
	BX=転送バイト数
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
	
	DL=セクタ番号
	  (1〜最大値はフォーマットによる)
	ES:BP=バッファアドレス
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	2xh(CF=1)|DMA Boundary
	         |転送領域が64KB境界を跨いでいる
	3xh(CF=1)|End Of Cylinder
	         |シリンダを跨いだ転送をしようとした
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	5xh(CF=1)|Over Run
	         |一定時間内にデータの転送が終わらなかった
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	7xh(CF=1)|Not Writable
	         |ライトプロテクトされている
	Axh(CF=1)|Data Error
	         |CRCエラーが発生した
	         |ID読み取り時にCRCエラーが発生した
	Cxh(CF=1)|No Data
	         |指定されたセクタが見つからない
	Exh(CF=1)|Missing Address Mark
	         |IDアドレスマークが見つからなかった
	---------+------------------------------------------
解説  o 指定されたセクタにデータを書き込む。セクタのデータフィールドには、
	DAM(Data Address Mark)を書き込む。
	通常の書き込みには、このファンクションを用いる。
      o MT=0(シングルトラック指定)のとき、一回の転送がディスク片面の同一
	トラック内で完了するようにBX(転送バイト数)を設定しなければならない。
	MT=1(マルチトラック指定)のとき、一回の転送がディスク両面の同一
	シリンダ内で完了するようにBX(転送バイト数)を設定しなければならない。
	シリンダを跨ぐ転送は行えない。
      o ES:BP(転送アドレス)とBX(転送バイト数)は、転送領域が物理アドレスの
	64Kバイトの境界を跨がないように設定する必要がある。たとえば、
	ES:BP=7000:FF00h, BX=0400hのような領域に転送することはできない。
      o	BX(転送バイト数)に指定する値がセクタ長の整数倍でなかったとき、
	最終セクタの転送データがない部分には、00hが書き込まれる。
関連	INT 1Bh - Function 09h(FD)


INT 1Bh - Function 06h(FD)
分類	DISK BIOS
名前	データの読み出し (READ DATA)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH bit 7=MT
		1=マルチトラック
		0=シングルトラック
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=0110b
	AL=DA/UA
	---------------------------------------+-----------------------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+-----------------------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+-----------------------
	
	BX=転送バイト数
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
	
	DL=セクタ番号
	  (1〜最大値はフォーマットによる)
	ES:BP=バッファアドレス
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	1xh(CF=0)|Control Mark
	         |DDAM(Deleted Data Address Mark)を検出した
	2xh(CF=1)|DMA Boundary
	         |転送領域が64KB境界を跨いでいる
	3xh(CF=1)|End Of Cylinder
	         |シリンダを跨いだ転送をしようとした
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	5xh(CF=1)|Over Run
	         |一定時間内にデータの転送が終わらなかった
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	Axh(CF=1)|Data Error
	         |CRCエラーが発生した
	Cxh(CF=1)|No Data
	         |指定されたセクタが見つからない
	Exh(CF=1)|Missing Address Mark
	         |IDアドレスマークが見つからなかった
	---------+------------------------------------------
解説  o 指定されたセクタからデータを読み込む。
	DDAM(Deleted Data Address Mark)を検出すると、AH=01hのリターンコードを
	返して処理を中断する。
	通常の読み出しには、このファンクションを用いる。
      o MT=0(シングルトラック指定)のとき、一回の転送がディスク片面の同一
	トラック内で完了するようにBX(転送バイト数)を設定しなければならない。
	MT=1(マルチトラック指定)のとき、一回の転送がディスク両面の同一
	シリンダ内で完了するようにBX(転送バイト数)を設定しなければならない。
	シリンダを跨ぐ転送は行えない。
      o ES:BP(転送アドレス)とBX(転送バイト数)は、転送領域が物理アドレスの
	64Kバイトの境界を跨がないように設定する必要がある。たとえば、
	ES:BP=7000:FF00h, BX=0400hのような領域に転送することはできない。
      o	BX(転送バイト数)に指定する値は、セクタ長の整数倍である必要は
	ない。指定された値と同じ長さのデータが実際に転送される。
関連	INT 1Bh - Function 01h(FD)
	INT 1Bh - Function 02h(FD)
	INT 1Bh - Function 0Ch(FD)


INT 1Bh - Function 07h(FD)
分類	DISK BIOS
名前	シリンダ0へシークする (RECALIBRATE)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH=07h
	AL=DA/UA
	---------------------------------------+-----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+-----------
	両用BIOS 1MB I/Fモード                 |9nh,1nh,3nh
	両用BIOS 640KB I/Fモード               |7nh,Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+-----------
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	---------+------------------------------------------
解説  o ヘッドをシリンダ0にシークする。
      o ディスクアクセス時にエラーが起こったときなどに、いったんヘッドを
	シリンダ0にシークしてから再アクセスすると、正常にアクセスできるように
	なる場合がある。
関連	


INT 1Bh - Function 09h(FD)
分類	DISK BIOS
名前	デリーテッドデータの書き込み (WRITE DELETED DATA)
対象	両用BIOS,1MB専用BIOS
入力	AH bit 7=MT
		1=マルチトラック■[PC-H98]
		0=シングルトラック
		* PC-H98以外ではマルチトラック指定できない
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=1001b
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	---------------------------------------+----------
	
	BX=転送バイト数
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
	
	DL=セクタ番号
	  (1〜最大値はフォーマットによる)
	ES:BP=バッファアドレス
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	2xh(CF=1)|DMA Boundary
	         |転送領域が64KB境界を跨いでいる
	3xh(CF=1)|End Of Cylinder
	         |シリンダを跨いだ転送をしようとした
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	5xh(CF=1)|Over Run
	         |一定時間内にデータの転送が終わらなかった
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	7xh(CF=1)|Not Writable
	         |ライトプロテクトされている
	Axh(CF=1)|Data Error
	         |ID読み取り時にCRCエラーが発生した
	Cxh(CF=1)|No Data
	         |指定されたセクタが見つからない
	Exh(CF=1)|Missing Address Mark
	         |IDアドレスマークが見つからなかった
	---------+------------------------------------------
解説  o 指定されたセクタにデータを書き込む。セクタのデータフィールド
	には、DDAM(Deleted Data Address Mark)を書き込む。
      o MT=0(シングルトラック指定)のとき、一回の転送がディスク片面の同一
	トラック内で完了するようにBX(転送バイト数)を設定しなければならない。
	MT=1(マルチトラック指定)のとき、一回の転送がディスク両面の同一
	シリンダ内で完了するようにBX(転送バイト数)を設定しなければならない。
	シリンダを跨ぐ転送は行えない。
      o ES:BP(転送アドレス)とBX(転送バイト数)は、転送領域が物理アドレスの
	64Kバイトの境界を跨がないように設定する必要がある。たとえば、
	ES:BP=7000:FF00h, BX=0400hのような領域に転送することはできない。
      o	BX(転送バイト数)に指定する値がセクタ長の整数倍でなかったとき、
	最終セクタの転送データがない部分には、00hが書き込まれる。
関連	INT 1Bh - Function 05h(FD)
	INT 1Bh - Function 0Ch(FD)


INT 1Bh - Function 0Ah(FD)
分類	DISK BIOS
名前	IDの読み出し (READ ID)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH bit 7=0
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=1010b
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+----------
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	Cxh(CF=1)|No Data
		 |1トラック分リードしても正しいIDが見つからなかった
	Exh(CF=1)|Missing Address Mark
	         |IDアドレスマークが見つからなかった
	---------+------------------------------------------
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	CL=シリンダ番号
	DH=ヘッド番号
	DL=セクタ番号
解説  o トラック内で最初に見つかった正常なIDを読み取り、セクタ長、
	シリンダ番号、ヘッド番号、セクタ番号の値を返す。
関連	


INT 1Bh - Function 0Ch(FD)
分類	DISK BIOS
名前	デリーテッドデータの読み出し (READ DELETED DATA)
対象	両用BIOS,1MB専用BIOS
入力	AH bit 7=MT
		1=マルチトラック
		0=シングルトラック
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=1100b
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	---------------------------------------+----------
	
	BX=転送バイト数
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
	
	DL=セクタ番号
	  (1〜最大値はフォーマットによる)
	ES:BP=バッファアドレス
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	1xh(CF=0)|Control Mark
	         |DDAM(Deleted Data Address Mark)を検出した
	2xh(CF=1)|DMA Boundary
	         |転送領域が64KB境界を跨いでいる
	3xh(CF=1)|End Of Cylinder
	         |シリンダを跨いだ転送をしようとした
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	5xh(CF=1)|Over Run
	         |一定時間内にデータの転送が終わらなかった
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	Axh(CF=1)|Data Error
	         |CRCエラーが発生した
	Cxh(CF=1)|No Data
	         |指定されたセクタが見つからない
	Exh(CF=1)|Missing Address Mark
	         |IDアドレスマークが見つからなかった
	---------+------------------------------------------
解説  o DDAM(Deleted Data Address Mark)の書き込まれたセクタから読み出しを行う。
      o MT=0(シングルトラック指定)のとき、一回の転送がディスク片面の同一
	トラック内で完了するようにBX(転送バイト数)を設定しなければならない。
	MT=1(マルチトラック指定)のとき、一回の転送がディスク両面の同一
	シリンダ内で完了するようにBX(転送バイト数)を設定しなければならない。
	シリンダを跨ぐ転送は行えない。
      o ES:BP(転送アドレス)とBX(転送バイト数)は、転送領域が物理アドレスの
	64Kバイトの境界を跨がないように設定する必要がある。たとえば、
	ES:BP=7000:FF00h, BX=0400hのような領域に転送することはできない。
      o	BX(転送バイト数)に指定する値は、セクタ長の整数倍である必要は
	ない。指定された値と同じ長さのデータが実際に転送される。
関連	INT 1Bh - Function 06h(FD)
	INT 1Bh - Function 09h(FD)


INT 1Bh - Function 0Dh(FD)
分類	DISK BIOS
名前	トラックのフォーマット (FORMAT TRACK)
対象	両用BIOS,1MB専用BIOS,640KB専用BIOS
入力	AH bit 7=0
	   bit 6=MF
		1=倍密度(MFM)
		0=単密度(FM)
	   bit 5=r
		1=リトライなし
		0=8回リトライ
	   bit 4=SEEK
		1=シーク動作する
		0=現在のトラック位置にアクセス
	   bit 3〜0=1101b
	AL=DA/UA
	---------------------------------------+----------
	アクセス条件                           |DA/UA値(n=装置番号0〜3)
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,1MBアクセス   |9nh
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1nh
	両用BIOS 1MB I/Fモード  ,1.44MBアクセス|3nh
	両用BIOS 640KB I/Fモード,640KBアクセス |7nh
	両用BIOS 640KB I/Fモード,1MBアクセス   |Fnh
	1MB専用BIOS                            |9nh
	640KB専用BIOS                          |7nh
	---------------------------------------+----------
	
	BX=フォーマット用データのバイト数
	CH=セクタ長
	    00h= 128バイト/セクタ
	    01h= 256バイト/セクタ
	    02h= 512バイト/セクタ
	    03h=1024バイト/セクタ
	
	CL=シリンダ番号(SEEKビット=1のときのみ)
	------------+------------------
	ドライブ種別|シリンダ番号の範囲
	------------+------------------
	3.5インチ,5インチ |0〜79d
	8インチ     |0〜76d
	------------+------------------
	
	DH=ヘッド番号
	------------------------+----------------
	メディア/モード種別    |ヘッド番号の範囲
	------------------------+----------------
	両面メディア/両面モード|0〜1
	片面メディア/片面モード|0
	------------------------+----------------
	* 片面メディアは8インチのみ、片面モードは640KBアクセスモードのみ。
	
	DL=データ部への書き込みデータパターン
	ES:BP=フォーマット用データバッファ領域の先頭アドレス
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	2xh(CF=1)|DMA Boundary
	         |転送領域が64KB境界を跨いでいる
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	5xh(CF=1)|Over Run
	         |一定時間内にデータの転送が終わらなかった
	6xh(CF=1)|Not Ready
	         |ディスクがセットされていないか、ドライブが接続されていない
	7xh(CF=1)|Not Writable
	         |ライトプロテクトされている
	---------+------------------------------------------
解説  o 指定されたトラックをフォーマットする。
      o フォーマット用データバッファの設定方法は、テクニカルデータブック参照。
      o ES:BP(フォーマット用データバッファ領域の先頭アドレス)と
	BX(フォーマット用データのバイト数)は、領域が物理アドレスの
	64Kバイトの境界を跨がないように設定する必要がある。たとえば、
	ES:BP=7000:FFF0h, BX=0020hのような領域に設定することはできない。
関連	


INT 1Bh - Function 0Eh(FD)
分類	DISK BIOS
名前	SET OPERATION MODE(1)
対象	両用BIOS,640KB専用BIOS
入力	AH=0Eh
	AL bit 7〜4=DA
	---------------------------------------+----------
	アクセス条件				DA値
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1h
	両用BIOS 640KB I/Fモード,640KBアクセス |7h
	640KB専用BIOS                          |7h
	---------------------------------------+----------
	   bit 3:UNIT#3
	   bit 2:UNIT#2
	   bit 1:UNIT#1
	   bit 0:UNIT#0
		1=両面モード(2DD,2D)
		0=片面モード(1DD,1D)
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	---------+------------------------------------------
解説  o 640KBアクセスモードでの動作モード(両面/片面)を指定する。
	起動時には、全ドライブが両面,80シリンダモード(2DD)に設定されている。
	動作モードを変更することで、640KBアクセスモードで1DD,1D
	フォーマットの媒体にアクセス(リード/ライト/フォーマット)できる。
      u テクニカルデータブックでは、両用BIOS - 1MB I/Fモード時のみ有効となって
	いるが、640KB専用BIOS,両用BIOS - 640KB I/Fモード時にも有効。
      o DAにFhを指定したときも640KBアクセスモード時の動作モードが変更
	できるが、意味上、DAには7hを指定する方が良い。
関連	0000:05CAh[640KB専用BIOS,両用BIOS - 640KB I/Fモード時]
	0000:0493h[両用BIOS - 1MB I/Fモード時]
	INT 1Bh - Function 8Eh(FD)


INT 1Bh - Function 8Eh(FD)
分類	DISK BIOS
名前	SET OPERATION MODE(2)
対象	両用BIOS,640KB専用BIOS
入力	AH=8Eh
	AL bit 7〜4=DA
	---------------------------------------+----------
	アクセス条件				DA値
	---------------------------------------+----------
	両用BIOS 1MB I/Fモード  ,640KBアクセス |1h
	両用BIOS 640KB I/Fモード,640KBアクセス |7h
	640KB専用BIOS                          |7h
	---------------------------------------+----------
	   bit 3:UNIT#3
	   bit 2:UNIT#2
	   bit 1:UNIT#1
	   bit 0:UNIT#0
		1=80シリンダモード(倍トラック  …2DD/1DD)
		0=40シリンダモード(非倍トラック…2D/1D)
出力	AH=リターンコード(bit 3〜0は不定)
	---------+------------------------------------------
	AH       |内容
	---------+------------------------------------------
	00h(CF=0)|Normal End
	         |正常終了
	40h(CF=1)|Equipment Check
	         |DAにサポートするBIOSが存在しない値を指定した
	---------+------------------------------------------
解説  o 640KBアクセスモード時の動作モード(80シリンダ/40シリンダ)を指定する。
	起動時には、全ドライブが両面,80シリンダモード(2DD)に設定されている。
	動作モードを変更することで、640KBアクセスモードで2D,1D
	フォーマットの媒体にアクセス(リード/ライト/フォーマット)できる。
      u テクニカルデータブックでは、両用BIOS - 1MB I/Fモード時のみ有効となって
	いるが、640KB専用BIOS,両用BIOS - 640KB I/Fモード時にも有効。
      o DAにFhを指定したときも640KBアクセスモード時の動作モードが変更
	できるが、意味上、DAには7hを指定する方が良い。
関連	0000:05CAh[640KB専用BIOS,両用BIOS - 640KB I/Fモード時]
	0000:0493h[両用BIOS - 1MB I/Fモード時]
	INT 1Bh - Function 0Eh(FD)